/**
 *  该方法为 Date 对象新增了一个 format 方法，传入一个时间格式
 *   new Date()  对象
 *   format 格式： 'yyyy-MM-dd hh:mm:ss' 字符串
 *
 *   使用示例：
 *   var time = new Date();
 *   time.format('yyyy-MM-dd hh:mm:ss');
 *   返回数据："2017-07-19 16:03:17"
 *   time.format('yyyy qq');  2017 03   2017年第三季度
 * */

module.exports = {
    format: function(timeStr, format) {
        var time = new Date(timeStr);
        var o = {
            "M+" : time.getMonth()+1,                             //month
            "D+" : time.getDate(),                                //day
            "h+" : time.getHours(),                               //hour
            "m+" : time.getMinutes(),                             //minute
            "s+" : time.getSeconds(),                             //second
            "q+" : Math.floor((time.getMonth()+3)/3),             //quarter   季度
            "S" : time.getMilliseconds()                         //millisecond  毫秒
        };
    
        if(/(Y+)/.test(format)) {                                //年
            format = format.replace(RegExp.$1, (time.getFullYear()+"").substr(4 - RegExp.$1.length));
        }
    
        for(var k in o) {                                        //其他参数
            if(new RegExp("("+ k +")").test(format)) {
                format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
            }
        }
        return format;
    }
}